Format e HTML-se dhe validimi i tyre
Format ne HTML perdoren si nje mundesi per te marre te dhena nga perdoruesi. Ne shume raste, na duhet te ndertojme faqe ku vizitoret te kene mundesi te fusin te dhena, si p.sh. aplikime per sherbime te ndryshme. HTML-ja permban mundesi te ndryshme te inputeve qe perdoren per te marre informacion nga perdoruesi. Keto lloj inputesh jane te tipit fushe teksti per te shkruar, liste zgjedhjesh, butone, nje input per te zgjedhur nje date etj. Format e HTML-se permbajne inpute nga me te ndryshmet ne menyre qe vizitori ta kete sa me te lehte transmetimin e informacionit.
Ne menyre qe te marrim te dhena nga perdoruesi elementet e inputeve duhet te futen brenda nje elementi te quajtur <form>
.
<form action="" method="">
...
</form>
Elementi <form>
ka dy atribute kryesore, action
dhe method
. Ne atributin action
percaktohet se cila do te jete faqja mbi te cilen do te behet kerkesa POST
ose GET
, ne varesi te vleres se atributit method
. Pra, atributi method
mban llojin e kerkeses qe do te behet pasi kemi bere submit. Te besh submit nje forme do te thote, te klikosh mbi nje buton te tipit submit
. Vetem kur behet submit, te dhenat e formes dergohen ne server.
Ne rast se atributin action
e leme bosh, atehere kerkesa do te behet ne te njejten faqe ku jemi. Ne rast se atributin method
e leme bosh atehere ai si vlere default ka vleren GET
. Per te derguar te dhenat ne server vizitori duhet te klikoje nje buton te tipit submit
, te cilin mund ta quajm Dergo
:
<form action="" method="POST">
<input type="submit" value="Dergo"/>
</form>
Ne elementin <input>
ne baze te atributit type
mund te shfaqim lloje te ndryshme inputesh te cilat do ti shohim ne vijim. Me lart atributi type
ka vleren submit
, qe tregon qe kemi te bejme me nje buton. Ne kete rast atributi value
mban tekstin qe do te shfaqet mbi buton Dergo
.
Duhet te kemi parasysh qe, kur nje vizitor klikon mbi butonin Dergo
(i tipit submit
), ai po ben submit
formen. Ne momentin qe forma behet submit krijohet nje kerkese e re HTTP, e tipit POST
ose GET
ne varesi te vleres qe ka atributi i formes method
. Ne kete rast vlera e atributit eshte POST
, keshtu qe kur behet submit dergohet nje kerkese e re HTTP POST
ne server. Nga kjo forme, pervec informacionit se cfare tipi kerkese do behet, na duhet edhe informacioni se ku do te behet kjo kerkese. Kete informacion e marrim nga atributi action
i cili mund te permbaje vlera si p.sh. skedar_tjeter.php
, pra nje skedar te tipit php.
Ne rastin kur nje forme ka atributet <form action="skedar_tjeter.php" method="POST">
, ne momentin kur bejme submit, dergohet nje kerkese e tipit HTTP POST
mbi skedarin skedar_tjeter.php
i cili ndodhet ne te njejten direktori me skriptin aktual qe po punojme.
Ne rastin kur nje forme ka atributet <form action="" method="POST">
, ne momentin kur bejme submit, dergohet nje kerkese e tipit HTTP POST
mbi te njejtin skedar ku po punojme. Pra, thjesht behet nje kerkese POST
mbi te njejtin skript.
Se bashku me kerkesat GET
ose POST
dergohen edhe te dhenat e vizitorit qe ai ka futur ne inpute. Lind pyetja se si mund ti aksesojme te dhenat qe ka futur vizitori ne skriptet e PHP-se. Elementet e tipit <input>
kane nje atribut shume te rendesishem te quajtur name
. Nepermjet ketij atributi ata identifikohen ne server, po ashtu edhe ne skriptet e PHP-se.
<form action="skedar_tjeter.php" method="POST">
<input type="text" value="" name="emri"/>
<input type="submit" value="Dergo" name="dergo"/>
</form>
Nje <input>
tjeter shume i perdorur eshte input i tipit text
i cili ofron nje fushe per te shkruajtur tekst (do ti referohemi si textfield). Atributi name
ne kete element ka vleren emri
, pra eshte nje fushe ku vizitori duhet te shkruaje emrin e tij. Inputit te tipit submit
i kemi vene vleren dergo
ne atributin name
.
Cfare ndodh kur klikohet mbi butonin Dergo
?
Pasi vizitori ka futur emrin e tij ne textfield, ne momentin e klikimit te butonit Dergo
, mbi skriptin skedar_tjeter.php
ne server do te dergohet nje kerkese POST
. Se bashku me kete kerkese dergohen edhe cifte vlerash celes = vlere
, ku ne kete rast do te dergohen si cifte vlerash te gjitha vlerat e inputeve qe kane nje atribut name
. Si celes do te jete vlera e atributit name
, dhe si vlere do te jete vlera e atributit value
te ketyre inputeve respektive.
Ne rastin e mesiperm ciftet e vlerave qe do te dergohen ne server jane:
emri = Alban Afmeti <!-- Eshte vlera qe ka futur vizitori ne textfield -->
dergo = Dergo <!-- Formuar nga inputi i tipit submit -->
Pra, ne formen e mesiperme kishim dy inpute, per kete arsye jane formuar dy cifte key=value
. Lind pyetja sesi mund ti aksesojme keto te dhena te derguara nga vizitori ne server, ne skriptin skedar_tjeter.php
ku eshte bere dhe kerkesa POST
. Ne nje nder seksionet e meparshme kemi permendur faktin qe pas cdo kerkese p.sh. GET
ose POST
, PHP-ja ne fazen e saj te inicializimit nderton variablat super globale $_GET
dhe $_POST
respektivisht, te cilat jane koleksione array qe permbajne si elemente ciftet key=value
te derguara nga vizitori. Pra, ne mund ti aksesojme te dhenat e derguara nga vizitori ne variablat super globale $_GET
ose $_POST
ne varesi te metodes HTTP qe eshte bere kerkesa.
Ne rastin e shembullit tone, ku kemi nje kerkese POST
mbi skedarin skedar_tjeter.php
, te dhenat e vizitorit mund te aksesohen duke perdorur variablin super global $_POST
:
echo $_POST['emri']; //Rezultati: Alban Afmeti
var_dump( isset( $_POST['dergo'] ) ); //Rezultati: bool(true)
Inpute te tipit radio
dhe checkbox
Nje nder inputet me te perdorura te formave eshte dhe input i tipit radio
, i cili te jep nje liste me zgjedhje ku ne mund te zgjedhim vetem njeren nga disa opsione.
<form action="skedar_tjeter.php" method="POST">
<label>Gjinia:</label>
<input type="radio" name="gjinia" value="mashkull" checked> Mashkull
<input type="radio" name="gjinia" value="femer"> Femer
<input type="submit" value="Dergo" name="dergo"/>
</form>
Atributi name
i inputeve radio
duhet te jete me vlere te njejte ne rast se duam te kemi vetem nje zgjedhje te vetme nga disa mundesi. Ne rast se atributi name
eshte i ndryshem ndermjet inputeve radio
atehere do te jete e mundur zgjedhja e shumefishte. Ne rastin e mesiperm atributi name
ka vleren gjinia
. Nje atribut te ri qe shohim eshte atributi checked
i cili vendoset ne rastin kur duam qe nje opsion te jete i parazgjedhur (default). Ne kete rast opsioni Mashkull
do te jete i parazgjedhur, dhe vizitori ka mundesine qe ta ndryshoje.
Ne momentin kur bejme submit, nje kerkese POST
dergohet ne server me te dhenat e futura nga perdoruesi:
gjinia = femer <!-- Vlera e opsionit qe ka zgjedhur perdoruesi, e marre nga atributi value -->
dergo = Dergo <!-- Formuar nga inputi i tipit submit -->
Ashtu sic u paraqit me lart, ne skriptin skedar_tjeter.php
mund t'i aksesojme keto te dhena si me poshte:
echo $_POST['gjinia']; //Rezultati: femer
Nje input tjeter i perdorur eshte tipi checkbox
, te cilin kemi mundesi ta cekojme (aktivizojme) ose jo. P.sh. perdoruesi duhet te tregoje nqs. eshte student apo jo. Ne kete rast vendosim nje checkbox ku ai do ta cekoje ose jo. Ne rast se vizitori e cekon tregon qe eshte student, perndryshe jo.
<form action="skedar_tjeter.php" method="POST">
<input type="checkbox" name="student" value="po"> Student
<input type="submit" value="Dergo" name="dergo"/>
</form>
Duhet te kemi parasysh qe ne momentin kur bejme submit, vlera e inputit te tipit checkbox
do te dergohet ne server vetem ne rastin kur inputi do te jete i cekuar. Pra, ne rast se inputi cekohet ne server do te dergohen te dhenat:
student = po <!-- Vizitori e ka cekuar kutine, ndaj eshte formuar ky cift (key = value) -->
dergo = Dergo <!-- Formuar nga inputi i tipit submit -->
Ne rast se vizitori nuk e ka cekuar kutine, atehere ne server do te shkojne te dhenat:
<!-- Vizitori nuk e ka cekuar kutine, ndaj nuk eshte formuar cift (key = value)
per inputin e tipit checkbox -->
dergo = Dergo <!-- Formuar nga inputi i tipit submit -->
Sa i perket inputit te tipit checkbox, pasi bejm submit formen mund ti aksesojme ne server si me poshte:
if( isset( $_POST['student'] ) ) {
echo "Vizitori eshte student!";
//Rezultati: Vizitori eshte student! (Vetem ne rastin kur vizitori e ka cekuar kutine)
}
Input i tipit select
Shpesh do te na duhet te perdorim lista me shume elemente si mundesi zgjedhjeje per vizitorin, por ne ne kete rast nuk eshte mire te perdorim inpute te tipit radio
sepse do te ishte nje pamje shume rremuje. Elementi qe na vjen ne ndihme eshte input me emrin select
, por ne kete rast ka nje etikete te te quajtur <select>
.
<form action="skedar_tjeter.php" method="POST">
<select name="marka">
<option value="mercedes">Mercedes</option>
<option value="ford">Ford</option>
<option value="volksvagen">Volksvagen</option>
<option value="volvo">Volvo</option>
<option value="audi">Audi</option>
<option value="bmw">BMW</option>
</select>
<input type="submit" value="Dergo" name="dergo"/>
</form>
Brenda etiketes <select>
ndodhen nje liste me opsione te cilat kane nje atribut value
. Perdoruesi ne kete rast mund te zgjedhe nje opsion te caktuar dhe te klikoje butonin Dergo
. Pasi forma behet submit ne server do te shkojne ciftet e vlerave te meposhtme:
marka = volksvagen <!-- Ne varesi te zgjedhjes se vizitorit -->
dergo = Dergo <!-- Formuar nga inputi i tipit submit -->
Ne skriptin skedar_tjeter.php
mund te aksesojme te dhenat e futura nga perdoruesi si me poshte:
// Kontrollojme nqs. kerkesa ka ardhur vertet nga forma e bere submit
// Nqs eshte vendosur $_POST['dergo'] dmth. qe forma eshte bere submit,
// dhe kemi te bejme me nje kerkese te tipit POST
if( isset( $_POST['dergo'] ) ) {
echo $_POST['marka']; //Rezultati: volksvagen
}
Ndodh qe na duhen me shume mundesi te zgjedhura nga perdoruesi sesa nje. Ne kete rast ne etiketen <select>
shtojme atributin multiple="multiple"
. Ndersa atributin name
duhet ta shkruajme ne forme array, pra marka[]
shoqeruar me kllapat [
dhe ]
, pasi vlerat qe do te na dergohen ne server per kete input do te jene ne nje koleksion array.
<form action="skedar_tjeter.php" method="POST">
<select name="marka[]" multiple="multiple">
<option value="mercedes">Mercedes</option>
<option value="ford">Ford</option>
<option value="volksvagen">Volksvagen</option>
<option value="volvo">Volvo</option>
<option value="audi">Audi</option>
<option value="bmw">BMW</option>
</select>
<input type="submit" value="Dergo" name="dergo"/>
</form>
Pasi behet submit, ne server do te dergohen te dhenat e meposhtme:
marka = [volksvagen, audi] <!-- Ne varesi te zgjedhjeve qe ben vizitori -->
dergo = Dergo <!-- Formuar nga inputi i tipit submit -->
Ne skriptin skedar_tjeter.php
mund te aksesojme te dhenat e futura nga perdoruesi si me poshte:
if( isset( $_POST['dergo'] ) ) {
print_r( $_POST['marka'] );
}
Ne kete rast $_POST['marka']
do te jete nje array, pasi kemi aktivizuar mundesine per zgjedhje te shumefishta per vizitorin. Rezultati i printimit:
Array
(
[0] => volksvagen
[1] => audi
)
Inpute te tjera
HTML ofron nje liste me inpute te ndryshme per t'i ardhur ne ndihme vizitorit qe te dergoje informacion te sakte ne server. Pervec atyre qe permendem me lart, nder inputet kryesore listohen me poshte:
password
<input type="password" name="password"/>
Kur duam te ndertojme nje forme logimi ose nje fushe me informacion te ndjeshem (te fshehte), mund te perdorim input te tipit password
ne menyre qe teksti qe shkruhet mbi te te shfaqet ne ekran i mbuluar me simbolin *
per cdo karakter. Ne server mund te aksesohet ne te njejten menyre sic aksesojme nje textfield $_POST['password']
.
email
<input type="email" name="email"/>
Input i tipit email
eshte nje fushe teksti qe pranon dhe validon emailin e futur. Nese emaili nuk eshte i sakte nuk na lejon te vazhdojme per te bere submit.
number
<input type="number" name="mosha"/>
Input i tipit number
na lejon qe te fusim vetem numra, dhe jo tekst ose simbole te tjera.
hidden
<input type="hidden" name="vlere_e_fshehur"/>
Input i tipit hidden
na lejon te ruajme vlera statike te cilat dergohen ne server pasi bejme submit. E vecanta e ketyre vlerave eshte se nuk shihen nga vizitori (vetem ne rast se eksplorojme kodin HTML me Inspect Element). Ne shume raste mund te na duhet qe disa te dhena mos ti marrim nga vizitori, por t'i dergojme vete ne server per qellime te ndryshme.
color
<input type="color" name="ngjyra">
Input i tipit color
na jep mundesine te zgjedhim nje ngjyre nga nje tabele e tipit Color Picker
.
date
<input type="date" name="data">
Input i tipit date
na jep mundesine te zgjedhim nje date nga nje tabele e tipit Date Picker
.
file
<input type="file" name="ngarko">
Me ane te inputit te tipit file
mund te ngarkojme nje skedar ne server, duke na dhene mundesine te zgjedhim skedarin nga kompjuteri yne me ane te nje File Browser
.
textarea
<textarea name="permbajtja"></textarea>
textarea
eshte nje etikete qe shfaq nje fushe te madhe, input mbi te cilin mund te dergojme nje sasi te madhe teksti ne server.
Validimi i formave
Ne shume raste informacioni qe fut vizitori mund te mos jete i sakte. Ajo cfare duhet te bejme eshte te mos e lejojme vizitorin te vazhdoje me tej ne rast se te dhenat e futura jane te gabuara. Pra, duhet te nderpresim procesimin e te dhenave dhe ti shfaqim vizitorit nje mesazh ku t'i tregojme te dhenat qe ka futur gabim, ne menyre qe t'i korrigjoje.
Ne shembujt e mesiperm, atributi action
i formes permbante vleren skedar_tjeter.php
, pra ne momentin kur behej submit dedrgohej nje kerkese POST
per kete skedar. Ne shembujt ne vijim atributin action
do ta leme me vlere bosh. Kjo do te thote qe pasi behet submit kerkesa te dergohet mbi skriptin aktual ku po punojme. Ne kete rast edhe trajtimin e te dhenave te vizitorit do ta bejme ne te njejtin skedar.
Me ane te kodit HTML te meposhtem mund ti shfaqim vizitorit tre inpute, nje fushe per te shkruajtur emrin, nje fushe per te shkruajtur moshen dhe nje fushe per te zgjedhur gjinine:
<!-- Emri i skedarit: skript.php -->
<form action="" method="POST">
<input type="text" value="" name="emri"/>
<input type="number" value="" name="mosha"/>
<select name="gjinia">
<option value="mashkull">Mashkull</option>
<option value="femer">Femer</option>
</select>
<input type="submit" value="Dergo" name="dergo"/>
</form>
Ne momentin qe vizitori do te plotesoje fushat dhe do te klikoje mbi butonin Dergo
, nje kerkese POST
do te dergohet ne server mbi skedarin skript.php
(i cili eshte i njejti skedar ku ndodhet kodi i mesiperm). Per kete arsye, duhet te shtojme disa rreshta kod PHP ne kete skedar ne menyre qe te trajtojme dhe validojme te dhenat e futura nga vizitori.
Kemi thene qe kur nje vizitor viziton webfaqen tone p.sh. http://domain.com/skript.php
ne brouserin e kompjuterit te tij, brouseri ben nje kerkese te tipit GET
ne server per skedarin skript.php
. Ne ndryshim nga kjo, ne rastin kur bejme submit formen e mesiperme, brouseri dergon nje kerkese te tipit POST
(sepse atributi action
i formes ka vleren POST
) ne server per skedarin skript.php
ku sebashku me te dergohen dhe te dhenat e futura nga vizitori.
Pra duhet te trajtojme dy lloj kerkesash te ndryshme ne te njejtin skedar skript.php
.
Duhet te jemi te sigurte qe kur behet kerkesa
GET
ne skedarinskript.php
te mos aksesojme ndonje vlere te variablit$_POST
, pasi ai do te jete bosh dhe do te na gjenerohen gabime. Per kete arsye, perpara se te perdorim ndonje vlere te variablit super global$_POST
duhet te kontrollojme nqs. kemi te bejme me ndonje kerkesePOST
apo jo.
Shtojme kodin e meposhtem tek skedari skript.php
:
<?php
// Emri i skedarit: skript.php
// Bejme kete kontroll per te qene te sigurte qe $_POST do te perdoret
// vetem kur te kemi te bejme me nje kerkese POST
if( isset( $_POST['dergo'] ) ) {
// Ketu brenda mund te aksesojme vlerat e variablit $_POST
}
?>
<form action="" method="POST">
<input type="text" value="" name="emri"/>
<input type="number" value="" name="mosha"/>
<select name="gjinia">
<option value="mashkull">Mashkull</option>
<option value="femer">Femer</option>
</select>
<input type="submit" value="Dergo" name="dergo"/>
</form>
Kur duam te perdorim vlerat e variablit super global $_POST
, duhet te jemi te sigurte qe kerkesa te jete e tipit POST
, ndaj bejm nje kontroll nqs. butoni Dergo
eshte klikuar apo jo per te bere submit formen if(isset($_POST['dergo']))
. Kur vizitori viziton faqen tone ne brouserin e tij, ekzekutimi fillon nga rreshti i pare deri ne rreshtin e fundit. Edhe pse kur vizitori hap faqen tone ben nje kerkese GET
, ekzekutohet edhe kodi PHP qe kemi vendosur per validimin e formes, por duke qene se kemi bere kontrollin if(isset($_POST['dergo']))
, ne kete rast ky kontroll kthen FALSE
sepse kerkesa nga brouseri eshte GET
dhe nuk plotesohet kushti.
Le te perfundojme validimin e formes:
<?php
// Emri i skedarit: skript.php
// Bejme kete kontroll per te qene te sigurte qe $_POST do te perdoret
// vetem kur te kemi te bejme me nje kerkese POST
if( isset( $_POST['dergo'] ) ) {
$emri = $_POST['emri'];
$mosha = $_POST['mosha'];
$gjinia = $_POST['gjinia'];
// Validojme te dhenat e futura nga vizitori
if ($mosha < 18) {
// Do te printohet ne ekran mesazhi i meposhtem
echo '<p> Nuk lejohet hyrja per moshen nen 18 vjec! </p>';
} elseif ($mosha < 50) {
// Do te printohet ne ekran mesazhi i meposhtem
echo '<p> Mosha juaj eshte shume e madhe! </p>';
} else {
// Ketu behet procesimi i te dhenave te futura nga vizitori
// p.sh. mund ti ruajme te dhenat ne bazen e te dhenave
// Meqe te dhenat e vizitorit jane te sakta, e ridrejtojme ate ne nje faqe specifike
// pasi vizitori mbaroi pune me kete faqe
// Perdorim funksionin header() per te ridrejtuar vizitorin ne nje faqe tjeter
header('Location: home.php');
}
}
?>
<form action="" method="POST">
<input type="text" value="" name="emri"/>
<input type="number" value="" name="mosha"/>
<select name="gjinia">
<option value="mashkull">Mashkull</option>
<option value="femer">Femer</option>
</select>
<input type="submit" value="Dergo" name="dergo"/>
</form>
Validimi qe kemi bere ka te beje me moshen, duke mos lejuar disa mosha specifike qe te vazhdojne ne faqe. Ne rast se mosha e futur nga vizitori eshte nen 18 vjec atehere atij do ti printohet mesazhi Nuk lejohet hyrja per moshen nen 18 vjec!
. Ne kete rast kodi HTML qe kthehet si pergjigje ne brouserin e vizitorit tregohet me poshte:
<!-- Pjesa e printuar nga kodi PHP -->
<p> Nuk lejohet hyrja per moshen nen 18 vjec! </p>
<form action="" method="POST">
<input type="text" value="" name="emri"/>
<input type="number" value="" name="mosha"/>
<select name="gjinia">
<option value="mashkull">Mashkull</option>
<option value="femer">Femer</option>
</select>
<input type="submit" value="Dergo" name="dergo"/>
</form>
Duke qene se validimi i formes behet ne te njejtin skedar (sepse atributi action
eshte lene bosh), perdoruesit do ti shfaqet tek e njejta faqe mesazhi Nuk lejohet hyrja per moshen nen 18 vjec!
. Poshte ketij mesazhi renderizohet perseri forma ashtu sic ishte ne fillim, ne menyre qe vizitori te mund ta plotesoje ate nga e para me te dhena te reja.
- Duhet te kemi parasysh qe, gjithnje kur nje vizitor i faqes ben submit nje forme, faqja ringarkohet nga e para sepse ajo cfare ndodh ne kete rast eshte:
- Klikohet butoni i tipit submit (behet forma submit)
- Brouseri dergon nje kerkese te tipit
POST
oseGET
ne server (ne varesi te vleres se atributitmethod
) - Kerkesa dergohet per nje skedar (file) qe eshte percaktuar tek atributi
action
i formes. Ne rastet kur lihet bosh, kerkesa dergohet per skedarin aktual. Pra, kerkese e re per skedarin aktual por ne kete rast kerkesa behet shoqeruar me te dhenat qe fut vizitori - Serveri kthen pergjigje pasi ezekuton kodin PHP ne server. Pra, faqja ne brouser ringarkohet nga e para.
Ne momentin qe faqja ringarkohet nga e para te gjitha te dhenat qe ka futur vizitori ne inputet e formes pastrohen. Ne rastin e mesiperm kur vizitorit i shfaqet mesazhi Nuk lejohet hyrja per moshen nen 18 vjec!
, inputet e formes jane te gjitha te pastruara, dhe te dhenat qe kishte futur vizitori ne fillim kane humbur.
Per arsye se vizitori nuk ka mbaruar akoma pune me faqen, sepse faqja i ktheu pergjigje negative (nuk e lejoi te vazhdoje), ai ne kete rast eshte i detyruar qe te fuse perseri emrin, moshen dhe gjinine nga e para. Ne shembullin qe kemi marre eshte shume e thjeshte dhe e palodhshme qe ti futesh te dhenat nga e para pasi do te shkruajme shume pak tekst, thjesht emrin, moshen dhe te zgjedhim gjinine. Ne shume raste te tjera, ne disa inpute vizitori mund te fuse dhjetra e qindra rreshta tekst, ku ka shpenzuar shume kohe per ta shkruar. Imagjinoni sikur serveri ti ktheje nje pergjigje negative vizitorit (per ndonje arsye te caktuar) dhe vizitori te detyrohet te shkruaje te tere tekstin perseri. Kjo eshte dicka shume e lodhshme, dhe ne rast se do te ndodhte kjo gje vizitori do te largohej menjehere nga faqja jone shume i inatosur.
Per te menjanuar keto probleme, ne rastet kur skripti jone i kthen pergjigje negative vizitorit, vlerat qe ishin shkruajtur ne forma duhet te ruhen. Per kete arsye duhet te shtojme kod PHP, ne menyre qe vlerat te ruhen ne rast te nje pergjigjeje negative:
Mbi forme shkruajme rreshtat e meposhtme PHP:
<?php
//Ne rast se eshte vendosur $_POST['emri'] e ruajme ate ne variablin $emri
// perndryshe $emri merr vlere boshe
$emri = isset( $_POST['emri'] ) ? $_POST['emri'] : '';
$mosha = isset( $_POST['mosha'] ) ? $_POST['mosha'] : '';
$gjinia = isset( $_POST['gjinia'] ) ? $_POST['gjinia'] : '';
?>
<form action="" meth... <!-- vazhdim i kodit html te formes -->
Pasi kemi percaktuar variablat e mesiperm $emri
, $mosha
dhe $gjinia
, i perdorim ato ne inputet e formes, ne menyre qe vlerat te ruhen edhe kur faqja ringarkohet nga kerkesa POST
:
<form action="" method="POST">
<!-- Kur faqja ringarkohet $emri do te kete vleren qe kishte futur vizitori me pare, pra ajo nuk humbet -->
<input type="text" value="<?php echo $emri; ?>" name="emri"/>
<!-- Kur faqja ringarkohet $mosha do te kete vleren qe kishte futur vizitori me pare, pra ajo nuk humbet -->
<input type="number" value="<?php echo $mosha; ?>" name="mosha"/>
<select name="gjinia">
<!-- Atributi selected ben qe te zgjidhet nje opsion i caktuar -->
<!-- Ne rast se $gjinia ka vleren mashkull atehere do te printohet atributi selected -->
<option value="mashkull" <?php echo ($gjinia=='mashkull' ? 'selected' : ''); ?> >Mashkull</option>
<!-- Ne rast se $gjinia ka vleren femer atehere do te printohet atributi selected -->
<option value="femer" <?php echo ($gjinia=='femer' ? 'selected' : ''); ?>>Femer</option>
<!-- Pra, ne varesi te vleres se variablit $gjinia, do te zgjidhet dhe opsioni i listes -->
</select>
<input type="submit" value="Dergo" name="dergo"/>
</form>
Ne kete rast, te dhenat e vizitorit nuk do te humbasin edhe kur faqja te ringarkohet.
Ne rast se te dhenat e futura nga vizitori jane te sakta, pasi bejme perpunimin e duhur te te dhenave p.sh. ruajtjen ne bazen e te dhenave, ridrejtojme perdoruesin ne nje faqe tjeter me ane te funksionit header('Location: home.php');
.